package qgs.zisu.javaconcurrency.javaconcurrency.chapter6_forceOrGracefulClose;

/**
 * @Author: 蔡翔
 * @Date: 2019/10/8 14:18
 * @Version 1.0
 *
 * 大致意思：就是在执行线程里面设置 一个守护线程，我们想要停止守护线程的话只需要关闭执行线程就ok了。（给线程设置最大存活时间）
 */
public class ThreadCloseForce2 {
    public static void main(String[] args) {
        ThreadService threadService = new ThreadService();
        long start = System.currentTimeMillis();
        //Runnable 是无参无返回的 接口 lambda 实现的 接口。
        threadService.execute(()->{
            // 这里lambda 表达式 是实现Runnable 接口
            // load a very heavy resource
            /*while(true){

            }*/

            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        });
        // 看上面的 runnable 能不能10s 钟结束
        threadService.shutdown(10000);
        long end = System.currentTimeMillis();
        System.out.println(end-start);
    }
}
